classdef jwlong_it8511a_class
    %     1、执行构造函数
    %     eload = jwlong_it8511a_class;
    %     2、执行连接函数
    %     [eload.obj,eload.idn]=...
    %         eload.Conect('keysight','ASRL10::INSTR');
    %     3、执行设置
    %     eload.SetResMode(eload)
    
    properties
        obj % 连接仪器的对象       
        idn % 保存仪器的编号    
    end
    
    methods
        function eload = jwlong_it8511a_class
            %  构造此类的实例
        end
    end
    
    methods(Static)      
        function [obj,idn] = Conect(company,visa_address)
            % 连接仪器，同时读取仪器编号
            % eload = jwlong_it8511a_class;
            % [eload.obj,eload.idn]=eload.Conect('keysight','ASRL10::INSTR');
            obj=visa(company,visa_address);
            fopen(obj);
            fprintf(obj,'*IDN?');
            idn = fscanf(obj);
        end
        
        function SetResMode(eload)
            % 设置仪器模式为阻抗模式
            fprintf(eload.obj,'SYST:REM'); % 设置程控模式
            fprintf(eload.obj,'MODE RESistance');% 设置阻抗模式
            fprintf(eload.obj,'RES 500');% 设置阻抗500
            fprintf(eload.obj,'INPut ON');  % 打开电子负载
        end 
        function SetRes(eload,res)
            % 设置阻抗值
            message =['RES ',num2str(res)];
            fprintf(eload.obj,message);
        end
        
       function SetVoltMode(eload)
            % 设置仪器模式为阻抗模式
            fprintf(eload.obj,'SYST:REM'); % 设置程控模式
            fprintf(eload.obj,'MODE VOLTage');% 设置电压模式
            fprintf(eload.obj,'VOLT 0');% 设置阻抗500
            fprintf(eload.obj,'INPut ON');  % 打开电子负载
       end
       function SetVolt(eload,volt)
           % 设置阻抗值
           message =['VOLT ',num2str(volt)];
           fprintf(eload.obj,message);
       end
        

        
        function [volt,curr,power]=ReadData(eload)
            % 读取电压volt，电流curr，计算负载功率power
            fprintf(eload.obj,'MEAS:VOLT?');   % 测电压
            volt=str2double(fscanf(eload.obj));
            fprintf(eload.obj,'MEAS:CURR?');   % 测电流
            curr=str2double(fscanf(eload.obj));
            power=volt*curr;     
        end
        
        
    end
end

